package org.yzhzc.gateway.properties;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.context.annotation.Configuration;

import java.util.ArrayList;
import java.util.List;

/**
 * 配置类：IgnoreWhiteProperties
 * 该类用于从外部配置（如nacos）读取前缀为 "security.ignore" 的配置项，
 * 配置项指定了哪些 URL 路径需要被网关放行，即不需要进行安全校验。
 */
@Configuration
@RefreshScope  // 配置刷新注解：支持配置动态刷新
@ConfigurationProperties(prefix = "security.ignore")  // 从nacos或配置文件读取前缀为"security.ignore"的配置
@Data
public class IgnoreWhiteProperties {

    /**
     * 放行白名单配置，网关不校验此处的白名单
     * 例如：["/login", "/public/**"]
     */
    private List<String> whites = new ArrayList<>();
}
